This example follows the palantir tutorial notebook. Doing palantir diffusion maps is usually a good pre-preprocessing step before using elpigraph or ppt.
from anndata import AnnData
import numpy as np
import pandas as pd
import matplotlib.pyplot as pl
from matplotlib import rcParams
import scanpy as sc
import palantir
import scTree as sct
sc.settings.verbosity = 3
sc.logging.print_versions()
sc.settings.set_figure_params(dpi=80, frameon=False, figsize=(6, 6), facecolor='white')
counts = palantir.io.from_csv('https://github.com/dpeerlab/Palantir/raw/master/data/marrow_sample_scseq_counts.csv.gz')
norm_df = palantir.preprocess.normalize_counts(counts)
norm_df = palantir.preprocess.log_transform(norm_df)
pca_projections, _ = palantir.utils.run_pca(norm_df)
dm_res = palantir.utils.run_diffusion_maps(pca_projections, n_components=5)
ms_data = palantir.utils.determine_multiscale_space(dm_res)
tsne = palantir.utils.run_tsne(ms_data,n_jobs=20)
adata=AnnData(X=norm_df.values)
adata.obs_names=norm_df.index
adata.var_names=norm_df.columns
adata.obsm["X_palantir"]=ms_data.values
adata.obsm["X_dTSNE"]=tsne.values
sct.tl.tree(adata,method="epg",Nodes=50,use_rep="palantir",
device="gpu",seed=1,epg_lambda = 0.02)
sct.pl.tree(adata,basis="dTSNE")
sc.pl.scatter(adata,color="CD34",basis="dTSNE",color_map="viridis")
sct.tl.root(adata,37)
sct.tl.pseudotime(adata)
sc.pl.scatter(adata,basis="dTSNE", color=['t','seg'], legend_loc='on data',color_map="viridis")
sct.tl.test_association(adata,n_jobs=20)
sct.pl.test_association(adata)
sct.tl.fit(adata,n_jobs=20)
sct.tl.cluster(adata,knn=100)
pd.Series(adata.uns["tree"]["fit_clusters"]).unique()
import matplotlib.pyplot as plt
for c in pd.Series(adata.uns["tree"]["fit_clusters"]).unique():
sct.pl.cluster(adata,clu=c,basis="dTSNE",figsize=(10,6))